Multiple-Input Multiple-Output (MIMO) technologies are used in several communication systems to provide high transmission rates. MIMO technologies exploit the space and time dimensions to encode and multiplex more data symbols using a multiplicity of transmit and/or receive antennas, over a plurality of time slots. As a result, the capacity, range, and reliability of a MIMO-based communication system can be enhanced. Exemplary MIMO communication systems comprise wired (e.g. optical fiber-based) and wireless communication systems.
The promise of high data throughput and improved coverage range, reliability and performance is achieved by MIMO systems through the use of multiple transmit and receive antennas for communicating data streams. The use of multiple transmit and receive antennas increases immunity to propagation effects comprising interference, signal fading and multipath.
MIMO systems are based on Space-Time coding and decoding techniques. At transmitter devices, Space-Time encoders are implemented to encode data streams into codewords transmitted thereafter through the transmission channel. At the receiver side, Space-Time decoders are implemented to recover intended data streams conveyed by the transmitter device(s).
Several Space-Time decoding algorithms exist. The choice of the decoding algorithm to be used depends on the target performance and on the implementation complexity and related cost.
In the presence of equally distributed information symbols, optimal Space-Time decoders implement the Maximum Likelihood (ML) decoding criterion. Exemplary ML decoding algorithms comprise the exhaustive search and sequential decoding algorithms such as the Sphere decoder, the Schnorr-Euchner decoder, the Stack decoder, and the SB-Stack decoder. ML decoders provide optimal performances but require a high computational complexity that increases with the number of antennas and the size of the alphabet to which the information symbols belong.
Alternatively, sub-optimal decoding algorithms requiring lower computational complexity than ML decoders, can be used. Exemplary sub-optimal decoding algorithms comprise:                linear decoders such as the Zero-Forcing (ZF) and the Minimum Mean Square Error (MMSE) decoders; and        non-linear decoders such as the ZF-DFE decoder.        
Both linear and non-linear decoders are based on inter-symbol interference cancellation and estimation of the information symbols individually.
According to another sub-optimal sub-block decoding strategy, the information symbols can be decoded by sub-vectors, i.e. by sub-blocks of symbols. Algorithms implementing a sub-block decoding are based on a division of the vector of information symbols into two or more sub-vectors. Each sub-vector is estimated individually and recursively, given the previously estimated sub-vectors of symbols. The estimation of each sub-vector of symbols is performed using a symbol estimation algorithm. Any sequential, linear or non-linear decoding algorithm may be implemented in a given sub-block as a symbol estimation algorithm to generate the estimate of the corresponding sub-vector of information symbols.
According to QR-based sub-block decoding algorithms, the division of the vector of information symbols is made in accordance with a division of an upper triangular matrix representative of the transmission channel. The upper triangular matrix can be obtained by applying a QR decomposition to a channel matrix representative of the transmission channel.
A QR-based sub-block decoding algorithm is disclosed in “W-J Choi, R. Negi, and J. M. Cioffi, Combined ML and DFE decoding for the V-BLAST system, IEEE International Conference on Communications, Volume 3, pages 1243-1248, 2000”. A combination of ML and DFE decoding is therein proposed for wireless MIMO systems using spatial multiplexing of data streams. The vector of information symbols of length n is first divided into two sub-vectors of lengths p and n-p respectively. ML decoding is then used to determine an estimation of the sub-vector comprising p information symbols. Then, using decision feedback equalization, the remaining n-p symbols are estimated after an inter-symbol interference cancellation. The choice of the division parameters, i.e. the number of sub-vectors and the length of each sub-vector, is deterministic.
Other QR-based sub-block decoding algorithms for coded wireless MIMO systems are disclosed for example in:    “K. Pavan Srinath and B. Sundar Rajan, Low ML-Decoding Complexity, Large Coding Gain, Full-Rate, Full-Diversity STBCs for 2×2 and 4×2 MIMO Systems, IEEE Journal of Selected Topics in Signal Processing, Volume 3, Issue 6, pages 916-927, 2009”;    “L. P. Natarajan, K. P. Srinath, and B. Sundar Rajan, On The Sphere Decoding Complexity of Gigh-Rate Multigroup Decodable STBCs in Asymmetric MIMO Systems, IEEE Transactions on Information Theory, Volume 59, Issue 9, 2013”; and    “T. P. Ren, Y. L. Guan, C. Yuen, and R. J. Shen. Fast-group-decodable space-time block code. In Proceedings of IEEE Information Theory Workshop, pages 1-5, January 2010”.
The division of the upper triangular matrix in these approaches depends on the used Space-Time Block Code (STBC) and in particular to the class to which a STBC may belong.
QR-based recursive sub-block decoding is based on a recursive estimation of sub-vectors of information symbols given the previously estimated sub-vectors. Due to the interference between the various sub-vectors of information symbols, a decoding error on a given sub-vector may propagate over the forthcoming sub-vectors and generate decoding errors. The performances of recursive sub-block decoding algorithms are thus impacted by the interference between the sub-vectors of information symbols.
Existing recursive sub-block decoding algorithms provide better performance than linear and non-linear decoders. However, the division of the vector of information symbols is performed either deterministically or depending on the code used in the coded systems. Further, existing sub-block division criteria do not take into account the interference between the sub-vectors of information symbols and can result in sub-optimal performance/complexity tradeoffs.
There is accordingly a need for sub-block division enabling a reduction of the impact of the interference between the sub-vectors of information symbols that are recursively decoded.